/****************************************************************************
 * SaveGame Manager GX 2012-2013
 * by dj_skual
 *
 * ManageProgressWindow.h
 ***************************************************************************/
#ifndef _MANAGEPROGRESSWINDOW_H_
#define _MANAGEPROGRESSWINDOW_H_

#include "ManageButtons.hpp"
#include "ProgressThrobber.hpp"

class ManageProgressWindow : public GuiFrame, public sigslot::has_slots<>
{
	public:
		ManageProgressWindow(std::string Title, std::string Message = "", bool cancelable = true);
		virtual ~ManageProgressWindow();
		
		void SetCancel(bool cancelable);
		void SetTitle(std::string Title);
		void SetMessage(std::string Message);
		void Hide();
		void Show();
		
		sigslot::signal0<> Canceled;
		
	private:
		void OnClick(ManageButtons * buttons, int choice);
		
		std::string title;
		std::string message;
		bool Visible;
		
		ManageButtons * cancel;
		ProgressThrobber * throbber;
};

#endif
